1. Field of the Invention
This invention relates to observation architecture. In particular, the invention relates to a command interface and instruction set for real-time observation of the internal events of a graphics controller.
2. Description of Related Art
Real-time observation of internal events within a co-processor is a useful technique to provide feedback on the efficacy of both hardware and software of the overall system. Typically, a co-processor operates under the control of a host processor. The host processor normally initializes the co-processor and sends command instructions to allow the co-processor to perform its operations. During the operations, it is useful for the host processor to be able to observe the internal events of the co-processor. Such an observation of real-time events provides useful information. For example, the host can measure the co-processor's performance.
To provide the host processor with the ability to observe the internal events and measure the co-processor's performance, it is necessary to develop an interface architecture that allows the host processor to communicate with the co-processor without disturbing the co-processor's activities. Such an interface architecture usually involves the use of hardware resources inside the co-processor and the mapping of these resources into a universal instruction set.
Due to the complexity of such a co-processor, the number of resources that are set up for observation may be quite significant. The allocation of the resources needed for observation is a challenging problem. Prior techniques do not provide complete and consistent information of the performance data. These techniques do not provide optimal utilization of hardware and software, and therefore, usually result in a less than optimal architecture.
An observation architecture does not merely provide the hardware resources. It also provides a useful software interface to allow the host processor to perform such observation and measurement activities in the most efficient manner. Prior techniques such as boundary scanning merely provide a hardware mechanism to report internal status information at predefined locations. Other techniques may provide a status inquiry facility in terms of a status register so that the host processor can interrogate when necessary. However, the observation through status inquiry is not real-time and does not provide flexibility in utilizing the hardware resources.
Therefore, there is a need in the technology to provide an optimal instruction set for real-time observations and measurements that can be easily invoked through the command interface with low hardware and software overhead.